<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <!-- [js] 用递归算法实现，数组长度为5且元素的随机数在2-32间不重复的值 -->
  <!-- 1. 这是一道大题目，把考点拆成了4个小项；需要侯选人用递归算法实现（限制15行代码以内实现；限制时间10分钟内完成）：
a) 生成一个长度为5的空数组arr。
b) 生成一个（2－32）之间的随机整数rand。
c) 把随机数rand插入到数组arr内，如果数组arr内已存在与rand相同的数字，则重新生成随机数rand并插入到arr内[需要使用递归实现，不能使用for/while等循环]
d) 最终输出一个长度为5，且内容不重复的数组arr。 -->
</body>
<script>
  function buildArray(arr,length,min,max) {
    var num = Math.floor(Math.random()*(max-min+1))+min
    if (!arr.includes(num)) {
      arr.push(num)
    }
    return arr.length === length ? arr: buildArray(arr,length,min,max)
    
  }
  var res = buildArray([], 5, 2, 32)
  console.log(res);
  var i =0
  function randomArr(arr,num) {
    if (arr.indexOf(num)<0) {
      arr[i] = num
      i++
    }else{
      num = randomNumber() 
    }
    if (i>=arr.length) {
      console.log(arr)
      return
    }else{
      randomArr(arr,num) 
    }
  }
  function  randomNumber() {
    return Math.floor(Math.random()*31+2)
  }
  var arr1= new Array(5)
  var num = randomNumber()
  randomArr(arr1,num)
  console.log(arr1);
</script>
</html>